package com.lagou.sqlsession;

import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.sql.SQLException;
import java.util.List;

public interface SqlSession {
    <E> List<E> selectList(String statement, Object... param) throws SQLException, NoSuchFieldException, IllegalAccessException, IntrospectionException, InvocationTargetException, InstantiationException;

    <T> T selectOne(String statement, Object... param) throws SQLException, IntrospectionException, NoSuchFieldException, InvocationTargetException, IllegalAccessException, InstantiationException;

    int update(String statement, Object... param) throws SQLException, NoSuchFieldException, IllegalAccessException;

    int delete(String statement, Object... param);
}
